Booting or initializing refers to loading an operating system onto a computer. Booting takes place, for example, after turning on a computer system. In booting a computer, the processor begins at a fixed address to process the BIOS stored in a memory. A test of the connected devices is performed and a search is conducted for boot sectors in a configurable sequence. The first boot sector found is then executed and loads the operating system via a boot loader, usually in multiple steps. The operating system then, if necessary, starts a graphic user interface or a command line interpreter. The operating system is booted, i.e., loaded, by execution of the portion of code in the boot sector which is on a memory medium, e.g., a hard drive. This code is generally referred to as the boot code. The boot code retrieves the actual operating system code. If the operating system does not succeed in booting, it is usually difficult to find the cause of this error. One possible procedure for diagnosing failed booting of the operating system is to boot the computer system from another memory medium, e.g., a floppy disk. In the case of a Windows operating system, if a floppy disk is present in the so-called A drive, the system is prompted to boot from the A drive. If a boot procedure of a system from the hard drive fails, the user may turn the system off and insert a disk into the A drive to attempt to reboot the system. In the case of a Windows 95 operating system, there is the option of ascertaining whether a previous attempt to boot the operating system has failed. If this happens, the Windows 95 operating system boots in a special operating mode often also known as safe operating mode.
In the area of embedded systems, it is customary to perform a number of tests during the initialization phase, i.e., the boot phase, to be sure the computer system is in fact fully functional. For non-safety-relevant systems, e.g., in a PC, it is also customary to perform a test of the required processing units during the boot phase. If an error occurs, the next boot procedure may be performed in safe operating mode. Safe operating mode is particularly robust and is particularly suitable for discovering additional errors. In the case of embedded computer systems, such as those used in an automobile, for example, a particularly robust mode that discovers and tolerates errors is used, e.g., for diagnostic purposes in a repair shop.
The safe operating mode is activated when a sufficiently serious error has occurred and the system should nevertheless function. Errors made safe by the safe operating mode are traditionally configuration errors or software errors.
In traditional computer systems, the initialization phase, i.e., boot phase, runs on a microprocessor having a single-core processor architecture.
Processors having a dual-core or multicore processor architecture are also being used to an increasing extent. Such processors have at least two integrated execution units. Execution units may include a CPU (central processing unit) or a calculating unit such as a floating point unit FPU. As an alternative, execution units may also include a digital signal processor (DSP), a coprocessor, or an arithmetic logic unit ALU.
With traditional computer systems, so far there has not been the option of detecting hardware errors in the execution units during the boot procedure. These errors may result in serious malfunctions of the operating system and then also of the application in embedded computer systems in particular, e.g., in the automotive field.